package com.star.aries.dto.res;

import java.util.List;
import java.util.Map;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CalculationResponseDto {
  @Schema(description = "声腔 10年在同频率下的值")
  private Map<String, CalDataSheng> calDatasOfSheng;
  @Schema(description = "每年 在不同频率下 每个声腔的值, key为年")
  private Map<Integer, CalDataYear> calDataOfYear;
  @Schema(description = "5号声腔A记权总声压级 year为年，value为值")
  private List<Matrix> matrixs;
  
  @Data
  @AllArgsConstructor
  @NoArgsConstructor
  @Builder
  public static class CalDataSheng {
    @Schema(description = "声腔 a1-a13")
    private String a;
    
    @Schema(description = "该年的 不同频率下 每个声腔a的值")
    private List<CalData> calDatas;
  }
  
  @Data
  @AllArgsConstructor
  @NoArgsConstructor
  @Builder
  public static class CalDataYear {
    @Schema(description = "年 从 1-N")
    private Integer year;
    @Schema(description = "该年的 不同频率下 每个声腔a的值")
    private List<CalData> calDatas;
  }
  
  @Data
  @AllArgsConstructor
  @NoArgsConstructor
  @Builder
  public static class CalData {
    private String name;
    private List<Double> values;
  }
}
